﻿<?php 
//Config : Les informations personnels de l'instance (log, pass, etc)
require("../../include/config.php");

//API Fonctions : les fonctions fournis de base par l'API
require("../../API/php/fonctions.php");

//Header établie la connection à la base $connection
require("../../API/php/header.php");

//Mode debug
$modeDebug = false;

//Public ou privé (clé obligatoire)
$modePublic = true;

//Mode de sortie text,json,xml,csv
//pour xml et csv $object_retour->data["resultat"] doit contenir qu'un est unique array
$modeSortie = "json";

//Liens de test
// API_RH/phpsql/mysql_getDataRapportRH2User.php?milis=123456789&user=FRO

// IN obligatoire
$arrayInput = array(
    "user" => null
);

//Récupération des entrants
$arrayValeur = recupInput($arrayInput);

//Object retour minima
// $object_retour->strErreur string
// $object_retour->data  string
// $object_retour->statut  string

//------------------------------------------------------------------
//pourcent de saisi d activitee
$strSql = "SELECT f.date, f.user responsable, IF(c.totalj IS NULL,0,c.totalj) total
    FROM (
        SELECT a.date, e.user
        FROM `affectation` a, (SELECT DISTINCT d.user
            FROM `".$prefixTable."tab_suivihebdo_enreg` d, `".$prefixTable."effectifs` g
            WHERE 1=1
            AND d.user = g.code_user
            AND g.date_out > now()
            AND d.user = :user
            AND d.`date_saisi` between (now() - interval 1 MONTH) 
            AND DATE_FORMAT(NOW() - interval 1 DAY, '%Y-%m-%d')
        ) e
        WHERE 1=1
        AND a.`open` != a.`close`
        AND a.`date` between (now() - interval 1 MONTH) 
        AND DATE_FORMAT(NOW() - interval 1 DAY, '%Y-%m-%d')
    ) f
    LEFT JOIN (SELECT b.date_saisi, b.user, IF(SUM(b.charge)IS NULL,0,SUM(b.charge)) totalj 
        FROM `".$prefixTable."tab_suivihebdo_enreg` b 
        WHERE 1=1 
        AND b.user = :user
        AND b.date_saisi between (now() - interval 1 MONTH) 
        AND DATE_FORMAT(NOW() - interval 1 DAY, '%Y-%m-%d') 
        GROUP BY b.date_saisi, b.user
    ) c
    ON c.date_saisi = f.date 
    AND c.user = f.user	
    WHERE 1=1
    AND IF(c.totalj IS NULL,0,c.totalj) < 10 
    ORDER BY f.user asc, f.date desc	
;";
$req = $connection->prepare($strSql);
$req->bindValue(":user", $arrayValeur["user"], PDO::PARAM_STR);

if($req->execute()){
    // On indique que nous utiliserons les résultats en tant qu'objet
    $req->setFetchMode(PDO::FETCH_OBJ);

    // On transforme les résultats en tableaux d'objet
    $resultats = new stdClass();
    $resultats->data = $req->fetchAll(PDO::FETCH_OBJ);
    $resultats->nombre = count($resultats->data);

    $object_retour->data["resultat"] = $resultats;
}else{
    $error = 'Erreur SQL:'.print_r($req->errorInfo(), true)." (".$strSql.")";
    $object_retour->strErreur = $error;
}
$req->closeCursor();
//--------------------------------------------------------------------------

require("../../API/php/footer.php");
?>